java DOM W3c XML元素解析空属性
我正在使用DOM以以下格式解析XML中的一些数据:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FEFExchangeFile>
<program>
<identProgram name="TestSection" type="section" task="MAST"></identProgram>
<FBDSource nbRows="24" nbColumns="36">
“程序”节点的节点列表正确解析如下:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(CodeFile);
NodeList programeNodeList= doc.getElementsByTagName("program");
我从节点列表中获得for循环中的“program”元素,其工作原理如下:
// Get the current program node element
Element programNode = (Element) programeNodeList.item(i);
然后,当我得到“program”元素中的第一项“identProgram”时,它可以像这样工作,我可以将属性提取到字符串中:
// Get the IdentProgram node element from Program node
Element identProgramElement = (Element) programNode.getElementsByTagName("identProgram").item(0);
但是什么让我感到困惑。在与上面用于获取“identProgram”的代码完全相同的代码中,我用于获取“fbdSource”之后的下一项,但它给了我一个空指针异常:
// Get the FbdSource element from Program node
Element fBDSourceElement = (Element) programNode.getElementsByTagName("FBDSource").item(0);
如上所述,用于获取identProgram和fbdSource的代码是相同的。它们在xml中处于同一级别。不知道是什么原因造成的
谢谢
共 (0) 个答案